-- u32 test.

entry add = map2 (u32.+)
entry sub = map2 (u32.-)
entry mul = map2 (u32.*)
entry pow = map2 (u32.**)

-- ==
-- entry: add
-- input  { [0u32, 2u32, 2147483647u32, 4294967295u32]
--          [0u32, 2u32, 2147483647u32, 1u32] }
-- output { [0u32, 4u32, 4294967294u32, 0u32] }

-- ==
-- entry: sub
-- input  { [2u32, 0u32, 2147483647u32]
--          [2u32, 127u32, 4294967295u32] }
-- output { [0u32, 4294967169u32, 2147483648u32] }

-- ==
-- entry: mul
-- input  { [2u32, 2u32,  262144u32,  262145u32]
--          [3u32, 0u32, 262144u32, 262144u32] }
-- output { [6u32, 0u32, 0u32, 262144u32] }

-- ==
-- entry: pow
-- input  { [2u32, 47u32, 47u32, 47u32, 47u32, 47u32, 47u32, 47u32, 47u32]
--          [3u32, 0u32, 1u32, 2u32, 3u32, 4u32, 5u32, 6u32, 7u32] }
-- output { [8u32, 1u32, 47u32, 2209u32, 103823u32, 4879681u32, 229345007u32, 2189280737u32, 4111946831u32] }
